目前，高级语言通常使用聚合数据类型和面向对象编程(OOP)构造。LLVM IR对聚合数据类型有一定的支持，必须自己实现OOP构造。添加聚合类型会引起如何传递聚合类型参数的问题。不同的平台有不同的规则，这也体现在IR中。遵循调用约定可以确保系统函数可以调用。\par

本章中，您将学习如何转换聚合数据类型和指向LLVM IR的指针，以及如何以系统兼容的方式将参数传递给函数。您还将学习如何在LLVM IR中实现类和虚函数。\par

本章将包含以下内容:\par

\begin{itemize}
\item 使用数组、结构和指针
\item 获取正确的二进制接口
\item 为类和虚函数创建IR代码
\end{itemize}

在本章结束时，您将为聚合数据类型和OOP创建LLVM IR。您还会了解如何根据平台规则传递聚合数据类型。\par































